package com.vencent.spring.web;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.Errors;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.vencent.spring.entity.DataModel;
import com.vencent.spring.entity.Person;
import com.vencent.spring.service.Repertory;
import com.vencent.spring.util.ResultMapUtils;

/**
 * 你可以使用 @Component + @RequestMapping 来代替  @Controller。
 * @author 1d
 *
 */
@Controller
public class HomeController {
	@Autowired
	private Repertory rep;
	
	/**
	 * @Valid 是javax的规范， 没有一些拓展内容比如group，所以使用
	 * 有些时候，你可以使用xml修改一下校验配置， 比如采用文件格式保存校验的错误信息。
	 * 详情请看spring-mvc.xml
	 * @param person
	 * @param errrors
	 * @return
	 */
	@RequestMapping("/my/home")
	@ResponseBody
	public DataModel<Object> home(@Validated Person person, Errors errors){
		return ResultMapUtils.getResultMap(rep.select());
	}
}
